1. Field of the Invention
This invention relates to a media access control for handling transmission and reception of isochronous data and asynchronous data. More particularly, the invention relates to preventing collisions during the transmission of isochronous data in carrier sensing multiple access transmission systems.
2. Description of Related Art
With the advent of multimedia processing in computing systems and increased deployment of digital audio and video formats, there is an increased demand for reliable transmission of synchronous and isochronous data over standard computer networks. Audio and video are but examples of synchronous or isochronous data. Any data stream that must be clocked and continuous would be considered synchronous. A data stream which must be delivered with determinant latency could be considered isochronous.
Local area networks, such as Ethernet, were developed to carry computer data. Computer data is primarily asynchronous in nature, and is not highly sensitive to non-deterministic latencies. Ethernet uses a carrier sense multiple access with collision detection media access control protocol (CSMA/CD MAC). This type of MAC is characterized by very low typical latencies, and reasonably high potential throughput.
The shortcomings of Ethernet for the transmission of synchronous and isochronous data are in it""s potentially high latencies when collisions occur between stations transmitting on the network. Numerous schemes have been developed for the transmission of synchronous and isochronous data over multiple access transmission systems. A reservation system typically employs two communications channels; one channel, the reservation channel, is used to communicate reservation requests from individual stations to a central authority which then allocates bandwidth in the primary channel, as requested, if possible. The reservation channel typically carries asynchronous data, while the primary channel carries isochronous data. Several schemes have been previously devised to implement a reservation system on a single multiple access channel. These schemes involve time dividing the channel into xe2x80x9cframesxe2x80x9d and further subdividing the frames to create the two channels required for a reservation system. One such system divides a frame into two Time Division Multiplexed (TDM) regions, one for the primary channel and one for the reservation channel. Another scheme splits frames into a TDM primary channel region and a CSMA reservation region. To date, there is no solution to collision problems in a CSMA protocol without significant inefficiencies in transmission.
The present invention solves the latency problem by essentially eliminating collisions for synchronous and isochronous data on an Ethernet network. The current invention differs from previous schemes in that it works on an unmodified Ethernet network using standard Ethernet transceivers and controllers augmented by a simple timing circuit. The current invention also differs from previous schemes in that the boundary between the primary and reservation regions of the frame floats allowing the relative bandwidths allocated to the primary and reservation channels to balance dynamically as traffic conditions vary in time.
During the reservation portion of the frame an xe2x80x9cadaptive p-persistentxe2x80x9d MAC is employed.
During the primary channel region of the frame, the current invention utilizes an xe2x80x9cordered persistentxe2x80x9d or xe2x80x9co-persistentxe2x80x9d MAC.
The present invention has solved the collision problems in a CSMA network protocol and at the same time optimized performance of the network. This is accomplished by giving control of the size of the reserved portion and the size of the reservation portion of the communication frame to stations in the network. Further, the reserved portion is allotted to isochronous data packets each of whose length is variable. Also, only those packets that have a reservation are in the frame, and they are placed in the frame in order in accordance with their position on the permission or reservation list. The present invention solves these problems regardless of whether the network is implemented using land lines, such as twisted-pair cable or coaxial cable, wireless, satellite, etc.
In addition to its applicability to CSMA communications networks, the present invention is also applicable to use on certain contention free communications media such as token passing networks. Although the order based reservation and transmission system of the present invention is not required to prevent collisions in such networks, the system is still advantageous as a framework for balancing resource allocation amongst multiple isochronous and asynchronous data sources and thereby maximizing throughput and efficiency.
An order persistent timer is provided in each station to control the timing of transmission of each isochronous data packet from a station and to also control the timing of transmission of asynchronous data packets that include reservation requests. The OP timer at each station monitors traffic in the network from other stations to detect whether the network is active or idle. In an active state, the OP timer times a set interval of time sufficient to indicate the successful transmission of a packet on the frame. In the idle state (no packet on the network from another station), the OP timer times a number of deferral time intervals that are used with a network interrupt handler at the station to control the transmission of isochronous data packets without collision, and asynchronous data packets thereafter.
Another embodiment of the current invention can be achieved without the o-persistence or an OP timer. In this embodiment, transmission on the network can be determined by counting packets following the beat packet or waiting to receive a designated previous transmission. The packet counting function of the timer can be achieved through other means. The deferral timing function is simply a means to assure continued smooth operation of the network in the event of individual transmitter failure.
The network timing is preferably controlled by one of the stations acting as a conductor for the network. This conductor station receives the reservation requests from the other stations and builds a beat packet. The beat packet is transmitted from the conductor station to all stations of the network, and provides the timing or beat of the network that all stations are synchronized with. In addition, the beat packet contains the permission list (reservation list) identifying the stations that will transmit, and when they will transmit during the frame. The network interrupt handler and the conductor at the conductor station build this beat packet.
If desired, the conductor can be implemented in more than one station. In this embodiment, if the primary conductor fails, another station on the network can assume the role of the conductor in the event of such failure. Further, the current invention can be achieved through the means of a distributed reservation control system. If the other stations contain a conductor or its equivalent, each station can create its own reservation list. This can be accomplished by each station maintaining a reservation list based on received reservation requests. In such embodiment, it is not strictly necessary for one station to transmit the reservation list as part of the beat packet.
Each station also has a frame interrupt handler that queues data from a synchronous data stream as isochronous packets in a transmit pipeline buffer awaiting transmission. The frame interrupt handler also unloads isochronous packets from a receive pipeline buffer, and converts them to a synchronous data stream. A supervisor works asynchronous pipeline buffers to load and unload asynchronous control messages transmitted as asynchronous data packets. The reservation requests are transmitted as asynchronous data packets.
The network interrupt handler will maximize the transmission of isochronous data packets. Space in the communication frame is given first to isochronous data packets. Thereafter, remaining space is filled with asynchronous data packets until the frame is full.
The great utility of the invention is that the communication frame has maximum efficiency, while collisions between isochronous data packets is avoided.
The foregoing and other features and advantages of the invention will be apparent from the following more particular description of a preferred embodiment of the invention as illustrated in the accompany drawings.